package com.jt.controller;

import com.jt.service.FiledService;
import com.jt.vo.ImageVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;


@RestController
public class FiledController {
    /**
     * MultipartFile 接口 优化文件上传,API集合
     * 1.文件上传位置  D:\photo
     * 2.判断文件目录是否存在
     * 3.利用API实现文件上传
     */

    @RequestMapping("/file")
    public String file(MultipartFile fileImage) {
        String fileDir = "D:/photo";
        File file = new File(fileDir);
        if (!file.exists()) {//文件不存在就创建
            file.mkdirs();//一次性创建多级目录
        }
        //文件信息=文件名+后缀
        String fileName = fileImage.getOriginalFilename();//获取真实文件名称
        //将文件整体封装为对象
        File imageFile = new File(fileDir + "/" + fileName);
        //实现文件上传
        try {
            fileImage.transferTo(imageFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "文件上传成功";
    }

    /**
     * 业务:实现商品的文件上传
     * url:localhost:8091/pic/upload?dir=image
     * 参数:uploadFile
     * 返回值:ImageVO对象
     */
    @Autowired
    private FiledService filedService;

    @RequestMapping("/pic/upload")
    public ImageVO upload(MultipartFile uploadFile) {
        return filedService.upload(uploadFile);
    }
}
